namespace ts1 {

    let a: string = '234'
    let str: string = `dddd${a}`
    console.log((str));

    let notANumber: number = NaN;
    let num: number = 123;
    let infinityNumber: number = Infinity;
    let decimal: number = 6;
    let hex: number = 0xf00d;
    let binary: number = 0b1010;
    let octal: number = 0o744;

    let booleand: boolean = true;
    let booleand2: boolean = Boolean(1);
    let createBoolean: Boolean = new Boolean(1);

    let list: number[] = [1, 2, 3];
    let list1: Array<number> = [1, 2, 3];
    let data: number[][] = [[1, 2], [3, 4]];

    // function Arr(...args: any): void {
    //     console.log(arguments)
    //     let arr: number[] = arguments
    // }
    // Arr(111, 222, 333)

    function Arr(...args: any): void {
        console.log(arguments)
        let arr: IArguments = arguments
    }
    Arr(111, 222, 333);

    interface NumberArray {
        [index: number]: number;
    }
    let fibonacci: NumberArray = [1, 1, 2, 3, 5];

    let list2: any[] = ['test', 1, [], { a: 1 }];

    let x: [string, number];
    x = ['hello', 10];

    let arr2: readonly [number, boolean, string, undefined] = [1, true, 'srting', undefined]

    let arr: [number, string] = [1, 'string']
    arr[1].length

    let arr1: [number, string] = [1, 'string']
    arr1.push(1)

    let excel: [string, string, number, string][] = [
        ['title', 'name', 1, '123'],
        ['title', 'name', 1, '123'],
        ['title', 'name', 1, '123'],
        ['title', 'name', 1, '123'],
        ['title', 'name', 1, '123']
    ]

    function voidFn(): void {
        console.log('test void')
    }

    let u: void = undefined;
    let n: void | null = null;

    let u1: undefined = undefined;
    let n1: null = null;

    // let test: null = null;
    // let num2: string = '1';
    // num2=test

    // let test: undefined = undefined
    // let num2: string = '1';
    // num2 = test

    let inn: string = '123';
    console.log(inn)


}

